CONFIG_XEN_BALLOON=y
CONFIG_XEN_REBOOT=y
# CONFIG_XEN_SMPBOOT is not set
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
# Hardware crypto devices
#
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
CONFIG_XEN_BALLOON=y
CONFIG_XEN_REBOOT=y
# CONFIG_XEN_SMPBOOT is not set
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
# Hardware crypto devices
#
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
CONFIG_XEN_BALLOON=y
CONFIG_XEN_REBOOT=y
# CONFIG_XEN_SMPBOOT is not set
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
#
# CONFIG_CRYPTO_DEV_PADLOCK is not set
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
# Hardware crypto devices
#
CONFIG_XEN=y
-CONFIG_XEN_INTERFACE_VERSION=0x00030203
+CONFIG_XEN_INTERFACE_VERSION=0x00030205
#
# XEN
void generic_get_mtrr(unsigned int reg, unsigned long *base,
unsigned int *size, mtrr_type * type)
{
- dom0_op_t op;
+ struct xen_platform_op op;
- op.cmd = DOM0_READ_MEMTYPE;
+ op.cmd = XENPF_read_memtype;
op.u.read_memtype.reg = reg;
- (void)HYPERVISOR_dom0_op(&op);
+ (void)HYPERVISOR_platform_op(&op);
*size = op.u.read_memtype.nr_mfns;
*base = op.u.read_memtype.mfn;
static void __init set_num_var_ranges(void)
{
- dom0_op_t op;
+ struct xen_platform_op op;
for (num_var_ranges = 0; ; num_var_ranges++) {
- op.cmd = DOM0_READ_MEMTYPE;
+ op.cmd = XENPF_read_memtype;
op.u.read_memtype.reg = num_var_ranges;
- if (HYPERVISOR_dom0_op(&op) != 0)
+ if (HYPERVISOR_platform_op(&op) != 0)
break;
}
}
unsigned int type, char increment)
{
int error;
- dom0_op_t op;
+ struct xen_platform_op op;
mutex_lock(&mtrr_mutex);
- op.cmd = DOM0_ADD_MEMTYPE;
+ op.cmd = XENPF_add_memtype;
op.u.add_memtype.mfn = base;
op.u.add_memtype.nr_mfns = size;
op.u.add_memtype.type = type;
- error = HYPERVISOR_dom0_op(&op);
+ error = HYPERVISOR_platform_op(&op);
if (error) {
mutex_unlock(&mtrr_mutex);
BUG_ON(error > 0);
unsigned long lbase;
unsigned int lsize;
int error = -EINVAL;
- dom0_op_t op;
+ struct xen_platform_op op;
mutex_lock(&mtrr_mutex);
goto out;
}
if (--usage_table[reg] < 1) {
- op.cmd = DOM0_DEL_MEMTYPE;
+ op.cmd = XENPF_del_memtype;
op.u.del_memtype.handle = 0;
op.u.del_memtype.reg = reg;
- error = HYPERVISOR_dom0_op(&op);
+ error = HYPERVISOR_platform_op(&op);
if (error) {
BUG_ON(error > 0);
goto out;
if(sis_apic_bug == -1)
sis_apic_bug = 0;
if (is_initial_xendomain()) {
- dom0_op_t op = { .cmd = DOM0_PLATFORM_QUIRK };
+ struct xen_platform_op op = { .cmd = XENPF_platform_quirk };
op.u.platform_quirk.quirk_id = sis_apic_bug ?
QUIRK_IOAPIC_BAD_REGSEL : QUIRK_IOAPIC_GOOD_REGSEL;
- HYPERVISOR_dom0_op(&op);
+ HYPERVISOR_platform_op(&op);
}
return 0;
}
t->io_bitmap_ptr = bitmap;
set_thread_flag(TIF_IO_BITMAP);
- set_iobitmap.bitmap = (char *)bitmap;
+ set_xen_guest_handle(set_iobitmap.bitmap, (char *)bitmap);
set_iobitmap.nr_ports = IO_BITMAP_BITS;
HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap, &set_iobitmap);
}
return -ENOMEM;
if (copy_from_user(kbuf, ubuf, len) == 0) {
- dom0_op_t op;
+ struct xen_platform_op op;
- op.cmd = DOM0_MICROCODE;
+ op.cmd = XENPF_microcode_update;
set_xen_guest_handle(op.u.microcode.data, kbuf);
op.u.microcode.length = len;
- err = HYPERVISOR_dom0_op(&op);
+ err = HYPERVISOR_platform_op(&op);
} else
err = -EFAULT;
}
if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) {
- iobmp_op.bitmap = (char *)next->io_bitmap_ptr;
+ set_xen_guest_handle(iobmp_op.bitmap,
+ (char *)next->io_bitmap_ptr);
iobmp_op.nr_ports = next->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
mcl->op = __HYPERVISOR_physdev_op;
mcl->args[0] = PHYSDEVOP_set_iobitmap;
raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word);
if (!(word & (1 << 13))) {
- dom0_op_t op;
+ struct xen_platform_op op;
printk(KERN_INFO "Disabling irq balancing and affinity\n");
- op.cmd = DOM0_PLATFORM_QUIRK;
+ op.cmd = XENPF_platform_quirk;
op.u.platform_quirk.quirk_id = QUIRK_NOIRQBALANCING;
- (void)HYPERVISOR_dom0_op(&op);
+ (void)HYPERVISOR_platform_op(&op);
}
/* put back the original value for config space*/
s64 nsec;
unsigned int cpu;
struct shadow_time_info *shadow;
- dom0_op_t op;
+ struct xen_platform_op op;
if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC)
return -EINVAL;
__normalize_time(&sec, &nsec);
if (is_initial_xendomain() && !independent_wallclock) {
- op.cmd = DOM0_SETTIME;
+ op.cmd = XENPF_settime;
op.u.settime.secs = sec;
op.u.settime.nsecs = nsec;
op.u.settime.system_time = shadow->system_timestamp;
- HYPERVISOR_dom0_op(&op);
+ HYPERVISOR_platform_op(&op);
update_wallclock();
} else if (independent_wallclock) {
nsec -= shadow->system_timestamp;
{
time_t sec;
s64 nsec;
- dom0_op_t op;
+ struct xen_platform_op op;
if (!ntp_synced() || independent_wallclock || !is_initial_xendomain())
return;
nsec = xtime.tv_nsec + ((jiffies - wall_jiffies) * (u64)NS_PER_TICK);
__normalize_time(&sec, &nsec);
- op.cmd = DOM0_SETTIME;
+ op.cmd = XENPF_settime;
op.u.settime.secs = sec;
op.u.settime.nsecs = nsec;
op.u.settime.system_time = processed_system_time;
- HYPERVISOR_dom0_op(&op);
+ HYPERVISOR_platform_op(&op);
update_wallclock();
if ( cpus_empty(*mask) )
return;
op.cmd = MMUEXT_TLB_FLUSH_MULTI;
- op.arg2.vcpumask = mask->bits;
+ set_xen_guest_handle(op.arg2.vcpumask, mask->bits);
BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0);
}
return;
op.cmd = MMUEXT_INVLPG_MULTI;
op.arg1.linear_addr = ptr & PAGE_MASK;
- op.arg2.vcpumask = mask->bits;
+ set_xen_guest_handle(op.arg2.vcpumask, mask->bits);
BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0);
}
#include <linux/gfp.h>
#include <linux/module.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#include <xen/interface/memory.h>
#include <xen/interface/xencomm.h>
#include <xen/interface/version.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#include <xen/interface/memory.h>
#include <xen/interface/xencomm.h>
#include <xen/interface/version.h>
#include <linux/gfp.h>
#include <linux/module.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#define __XEN__
#include <xen/interface/domctl.h>
#include <xen/interface/sysctl.h>
#define ROUND_DIV(v,s) (((v) + (s) - 1) / (s))
static int
-xencomm_privcmd_dom0_op(privcmd_hypercall_t *hypercall)
+xencomm_privcmd_platform_op(privcmd_hypercall_t *hypercall)
{
- dom0_op_t kern_op;
- dom0_op_t __user *user_op = (dom0_op_t __user *)hypercall->arg[0];
+ struct xen_platform_op kern_op;
+ struct xen_platform_op __user *user_op = (struct xen_platform_op __user *)hypercall->arg[0];
struct xencomm_handle *op_desc;
struct xencomm_handle *desc = NULL;
int ret = 0;
- if (copy_from_user(&kern_op, user_op, sizeof(dom0_op_t)))
+ if (copy_from_user(&kern_op, user_op, sizeof(struct xen_platform_op)))
return -EFAULT;
- if (kern_op.interface_version != DOM0_INTERFACE_VERSION)
+ if (kern_op.interface_version != XENPF_INTERFACE_VERSION)
return -EACCES;
op_desc = xencomm_create_inline(&kern_op);
switch (kern_op.cmd) {
default:
- printk("%s: unknown dom0 cmd %d\n", __func__, kern_op.cmd);
+ printk("%s: unknown platform cmd %d\n", __func__, kern_op.cmd);
return -ENOSYS;
}
return ret;
}
- ret = xencomm_arch_hypercall_dom0_op(op_desc);
+ ret = xencomm_arch_hypercall_platform_op(op_desc);
/* FIXME: should we restore the handle? */
- if (copy_to_user(user_op, &kern_op, sizeof(dom0_op_t)))
+ if (copy_to_user(user_op, &kern_op, sizeof(struct xen_platform_op)))
ret = -EFAULT;
if (desc)
privcmd_hypercall(privcmd_hypercall_t *hypercall)
{
switch (hypercall->op) {
- case __HYPERVISOR_dom0_op:
- return xencomm_privcmd_dom0_op(hypercall);
+ case __HYPERVISOR_platform_op:
+ return xencomm_privcmd_platform_op(hypercall);
case __HYPERVISOR_domctl:
return xencomm_privcmd_domctl(hypercall);
case __HYPERVISOR_sysctl:
memset(bitmap, 0xff, IO_BITMAP_BYTES);
t->io_bitmap_ptr = bitmap;
- set_iobitmap.bitmap = (char *)bitmap;
+ set_xen_guest_handle(set_iobitmap.bitmap, (char *)bitmap);
set_iobitmap.nr_ports = IO_BITMAP_BITS;
HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap, &set_iobitmap);
}
#include <asm/pda.h>
#include <asm/prctl.h>
#include <asm/kdebug.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#include <xen/interface/physdev.h>
#include <xen/interface/vcpu.h>
#include <asm/desc.h>
}
if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) {
- iobmp_op.bitmap = (char *)next->io_bitmap_ptr;
+ set_xen_guest_handle(iobmp_op.bitmap,
+ (char *)next->io_bitmap_ptr);
iobmp_op.nr_ports = next->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
mcl->op = __HYPERVISOR_physdev_op;
mcl->args[0] = PHYSDEVOP_set_iobitmap;
if XEN
config XEN_INTERFACE_VERSION
hex
- default 0x00030203
+ default 0x00030205
menu "XEN"
#include <asm/mmu_context.h>
#include <xen/evtchn.h>
#include <asm/hypervisor.h>
-#include <xen/interface/dom0_ops.h>
#include <xen/xenbus.h>
#include <linux/cpu.h>
#include <linux/kthread.h>
#include <asm/hypervisor.h>
#include <xen/public/privcmd.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
#include <xen/xen_proc.h>
static struct proc_dir_entry *privcmd_intf;
}
static inline int
-HYPERVISOR_dom0_op(
- dom0_op_t *dom0_op)
+HYPERVISOR_platform_op(
+ struct xen_platform_op *platform_op)
{
- dom0_op->interface_version = DOM0_INTERFACE_VERSION;
- return _hypercall1(int, dom0_op, dom0_op);
+ platform_op->interface_version = XENPF_INTERFACE_VERSION;
+ return _hypercall1(int, platform_op, platform_op);
}
static inline int
#include <linux/version.h>
#include <linux/errno.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#include <xen/interface/event_channel.h>
#include <xen/interface/physdev.h>
#include <xen/interface/sched.h>
}
static inline int
-xencomm_arch_hypercall_dom0_op(struct xencomm_handle *op)
+xencomm_arch_hypercall_platform_op(struct xencomm_handle *op)
{
- return _hypercall1(int, dom0_op, op);
+ return _hypercall1(int, platform_op, op);
}
static inline int
#include <linux/version.h>
#include <linux/errno.h>
#include <xen/interface/xen.h>
-#include <xen/interface/dom0_ops.h>
+#include <xen/interface/platform.h>
#include <xen/interface/event_channel.h>
#include <xen/interface/physdev.h>
#include <xen/interface/sched.h>
}
static inline int
-HYPERVISOR_dom0_op(
- dom0_op_t *dom0_op)
+HYPERVISOR_platform_op(
+ struct xen_platform_op *platform_op)
{
- dom0_op->interface_version = DOM0_INTERFACE_VERSION;
- return _hypercall1(int, dom0_op, dom0_op);
+ platform_op->interface_version = XENPF_INTERFACE_VERSION;
+ return _hypercall1(int, platform_op, platform_op);
}
static inline int